/**
 * <h2>动物类系列需求描述</h2>
 * <ul>
 *   <li>鲸鱼是水生哺乳动物，可以游泳，不能行走，用肺呼吸，用乳汁养育孩子，胎生。</li>
 *   <li>蝙蝠是陆生哺乳动物，可以飞翔，用肺呼吸，用乳汁养育孩子，胎生。</li>
 *   <li>猴子是陆生哺乳动物，不会游泳，飞不起来，可以行走与爬树，胎生，乳汁养育后代。</li>
 *   <li>猫是陆生哺乳动物，不会游泳，飞不起来，可以行走与爬树，胎生，乳汁养育后代。</li>
 *   <li>鲨鱼是水生鱼类，可以游泳，用腮呼吸，卵生，产卵后就撒手不管了，不养育后代。</li>
 *   <li>企鹅是鸟类，可以行走与游泳，不会飞，卵生，孵化后父母共同照顾养育后代。</li>
 *   <li>天鹅是鸟类，可以行走、游泳与飞翔，卵生，双亲负责养育后代。</li>
 *   <li>鸭嘴兽是哺乳动物，虽然是哺乳动物却为卵生</li>
 *   <li>海马是特殊的鱼类，雄性有育儿袋，负责孵化卵</li>
 *   <li>海豚是水生哺乳动物，可以游泳，用肺呼吸，用乳汁哺育后代，胎生</li>
 * </ul>
 *
 * <p>本包实现了一个动物类系列的层次结构，包含若干必要的父类、子类与接口，模拟以上描述的这些动物。
 * 这个类系列包含了各种动物的共有属性和行为，并通过继承和接口实现了功能的扩展。</p>
 *
 * <p>设计模式：</p>
 * <ul>
 *   <li>使用了抽象基类Animal来定义所有动物共有的属性和方法</li>
 *   <li>使用了继承来表示不同类型的动物（Mammal, Bird, Fish等）</li>
 *   <li>使用了接口（Reproduction, Walking, Swimming, Flying）来定义可选的行为</li>
 *   <li>使用了枚举类型（Gender, TemperatureRegulation）来表示固定集合的值</li>
 * </ul>
 *
 * <p>主要类和接口：</p>
 * <ul>
 *   <li>{@link com.example.animal.Animal Animal} - 所有动物的抽象基类</li>
 *   <li>{@link com.example.animal.Mammal Mammal} - 哺乳动物类，继承自动物类</li>
 *   <li>{@link com.example.animal.Bird Bird} - 鸟类，继承自动物类</li>
 *   <li>{@link com.example.animal.Fish Fish} - 鱼类，继承自动物类</li>
 *   <li>{@link com.example.animal.Reproduction Reproduction} - 生殖行为接口</li>
 *   <li>{@link com.example.animal.Walkable Walking} - 行走能力接口</li>
 *   <li>{@link com.example.animal.Swimmable Swimming} - 游泳能力接口</li>
 *   <li>{@link com.example.animal.Flyable Flying} - 飞翔能力接口</li>
 *   <li>{@link com.example.animal.Gender Gender} - 性别枚举</li>
 *   <li>{@link com.example.animal.TemperatureRegulation TemperatureRegulation} - 体温类型枚举</li>
 * </ul>
 *
 * <p>具体动物实现：</p>
 * <ul>
 *   <li>{@link com.example.animal.Whale Whale} - 鲸鱼类，继承自哺乳动物类，实现游泳接口</li>
 *   <li>{@link com.example.animal.Bat Bat} - 蝙蝠类，继承自哺乳动物类，实现飞行接口</li>
 *   <li>{@link com.example.animal.Monkey Monkey} - 猴子类，继承自哺乳动物类，实现行走接口</li>
 *   <li>{@link com.example.animal.Cat Cat} - 猫类，继承自哺乳动物类，实现行走接口</li>
 *   <li>{@link com.example.animal.Shark Shark} - 鲨鱼类，继承自鱼类，实现生殖接口</li>
 *   <li>{@link com.example.animal.Penguin Penguin} - 企鹅类，继承自鸟类，实现生殖、行走和游泳接口</li>
 *   <li>{@link com.example.animal.Swan Swan} - 天鹅类，继承自鸟类，实现生殖、行走、游泳和飞行接口</li>
 *   <li>{@link com.example.animal.Platypus Platypus} - 鸭嘴兽类，继承自哺乳动物类，实现生殖、行走和游泳接口</li>
 *   <li>{@link com.example.animal.Seahorse Seahorse} - 海马类，继承自鱼类，实现生殖和游泳接口</li>
 *   <li>{@link com.example.animal.Dolphin Dolphin} - 海豚类，继承自哺乳动物类，实现游泳接口</li>
 * </ul>
 */
package com.example.animal;
